package com.solidtrust.entity;

import java.util.Date;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Index;
import javax.persistence.Table;

@Entity
@Table(indexes={
		@Index(name="ganji_id", columnList="sourceId"),
		@Index(name="ganji_brand", columnList="brand"),
		@Index(name="ganji_city", columnList="city")
})
public class Ganji implements IScrapeEntity{

	@Id @GeneratedValue(strategy=GenerationType.AUTO)
	private Long id;
	
	private String sourceId;
	
	/*
	 * Basic information
	 */
	private String adTitle;
	
	private String adUrl;
	
	private String brand;
	
	private String model;
	
	private String build;
	
	
	/*
	 * Seller information
	 */
	private String sellerName;
	
	private String sellerAddress;
	
	private String sellerCompany;
	
	
	/*
	 * Car information
	 */
	
	private int soldPrice;
	
	private int transactionPrice;
	
	private String emission;
	
	private String city;
	
	private String district;
	
	private Date buyDate;
	
	private int mileage;
	
	private int newPrice;
	
	private String color;
	
	private int soldTimes;
	
	private Date inspectionDate;
	
	/*
	 * Car config
	 */
	private String type;
	
	// ml
	private int volume;
	
	private String fuelType;
	
	/*
	 * Scrape info
	 */
	
	private Date scrapedDate;
	
	private Date adDate;
	
	private Date removedDate;
	
	private Date touchDate;
	
	private String buyerType;
	
	private String phone;
	
	private String sourceURL;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getSourceId() {
		return sourceId;
	}

	public void setSourceId(String sourceId) {
		this.sourceId = sourceId;
	}

	public String getAdTitle() {
		return adTitle;
	}

	public void setAdTitle(String adTitle) {
		this.adTitle = adTitle;
	}

	public String getAdUrl() {
		return adUrl;
	}

	public void setAdUrl(String adUrl) {
		this.adUrl = adUrl;
	}

	public String getBrand() {
		return brand;
	}

	public void setBrand(String brand) {
		this.brand = brand;
	}

	public String getModel() {
		return model;
	}

	public void setModel(String model) {
		this.model = model;
	}

	public String getBuild() {
		return build;
	}

	public void setBuild(String build) {
		this.build = build;
	}

	public String getSellerName() {
		return sellerName;
	}

	public void setSellerName(String sellerName) {
		this.sellerName = sellerName;
	}

	public String getSellerAddress() {
		return sellerAddress;
	}

	public void setSellerAddress(String sellerAddress) {
		this.sellerAddress = sellerAddress;
	}

	public int getSoldPrice() {
		return soldPrice;
	}

	public void setSoldPrice(int soldPrice) {
		this.soldPrice = soldPrice;
	}

	public String getEmission() {
		return emission;
	}

	public void setEmission(String emission) {
		this.emission = emission;
	}

	public String getCity() {
		return city;
	}

	public void setCity(String city) {
		this.city = city;
	}

	public Date getBuyDate() {
		return buyDate;
	}

	public void setBuyDate(Date buyDate) {
		this.buyDate = buyDate;
	}

	public int getMileage() {
		return mileage;
	}

	public void setMileage(int mileage) {
		this.mileage = mileage;
	}

	public int getNewPrice() {
		return newPrice;
	}

	public void setNewPrice(int newPrice) {
		this.newPrice = newPrice;
	}

	public String getColor() {
		return color;
	}

	public void setColor(String color) {
		this.color = color;
	}

	public int getSoldTimes() {
		return soldTimes;
	}

	public void setSoldTimes(int soldTimes) {
		this.soldTimes = soldTimes;
	}

	public Date getInspectionDate() {
		return inspectionDate;
	}

	public void setInspectionDate(Date inspectionDate) {
		this.inspectionDate = inspectionDate;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public int getVolume() {
		return volume;
	}

	public void setVolume(int volume) {
		this.volume = volume;
	}

	public Date getScrapedDate() {
		return scrapedDate;
	}

	public void setScrapedDate(Date scrapedDate) {
		this.scrapedDate = scrapedDate;
	}

	public Date getAdDate() {
		return adDate;
	}

	public void setAdDate(Date adDate) {
		this.adDate = adDate;
	}

	public Date getRemovedDate() {
		return removedDate;
	}

	public void setRemovedDate(Date removedDate) {
		this.removedDate = removedDate;
	}

	public Date getTouchDate() {
		return touchDate;
	}

	public void setTouchDate(Date touchDate) {
		this.touchDate = touchDate;
	}

	public String getBuyerType() {
		return buyerType;
	}

	public void setBuyerType(String buyerType) {
		this.buyerType = buyerType;
	}

	public String getPhone() {
		return phone;
	}

	public void setPhone(String phone) {
		this.phone = phone;
	}

	public String getSellerCompany() {
		return sellerCompany;
	}

	public void setSellerCompany(String sellerCompany) {
		this.sellerCompany = sellerCompany;
	}

	public String getDistrict() {
		return district;
	}

	public void setDistrict(String district) {
		this.district = district;
	}

	public int getTransactionPrice() {
		return transactionPrice;
	}

	public void setTransactionPrice(int transactionPrice) {
		this.transactionPrice = transactionPrice;
	}

	public String getSourceURL() {
		return sourceURL;
	}

	public void setSourceURL(String sourceURL) {
		this.sourceURL = sourceURL;
	}

	public String getFuelType() {
		return fuelType;
	}

	public void setFuelType(String fuelType) {
		this.fuelType = fuelType;
	}

	
	
}
